/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.webanovare.ruzzle.mgr.impl;

import com.webanovare.ruzzle.misc.Player;
import com.webanovare.ruzzle.misc.TimeSetting;
import com.webanovare.ruzzle.misc.Trie;
import java.awt.Point;
import java.util.List;
import java.util.Map;

/**
 *
 * @author ekbga
 */
public interface IGame {
    public Player getOpponent();
    public Player getOwner();
    public int getSize();
    public TimeSetting getTimeSettings();
    public List<Character> getBoard();
    public Character[][] getBoardMatrix();
    public boolean addWord(List<Point> ps, Player p);
    public int getOpponentPoints();
    public int getOwnerPoints();
    public Map<String, Integer> getOwnerStatistics();
    public Map<String, Integer> getOpponentStatistics();
    public int getGameId();
    public void challenge(Player opponent);
    public void accept();
    public void decline();
    public boolean isActive();
    
    public int getPoints(Player p);

    public Trie getTrie();
}
